package org.performance.web.dao;

import java.io.Serializable;
import java.util.List;

import org.performance.web.common.GenericFilter;
import org.performance.web.common.PageResult;

/**
 * @author <a href="mailto:vdanielliu@gmail.com">Daniel</a>
 * 
 */
public interface GenericDAO<T extends Serializable> {

    public T findById(Serializable id);

    public List<T> findAll();

    public void save(T entity);

    public void update(T entity);

    public void delete(T entity);

    public void deleteById(Serializable id);

    public PageResult<T> findPageResult(List<GenericFilter> filters);

}
